<template>
  <div>
    <!-- 封面图 -->
    <div class="banner" :style="articleRuleForm.viewPicture">
      <div class="article-info-container">
        <!-- 文章标题 -->
        <div class="article-title">{{ articleRuleForm.title }}</div>
        <div class="article-info">
          <div class="first-line">
            <!-- 发表时间 -->
            <span>
              <i class="iconfont iconrili" />
              发表于 {{ articleRuleForm.gmtCreate | data }}
            </span>
            <span class="separator">|</span>
            <!-- 发表时间 -->
            <span>
              <i class="iconfont icongengxinshijian" />
              更新于
              <template v-if="articleRuleForm.gmtModified">
                {{ article.gmtModified | date }}
              </template>
              <template v-else>
                {{ article.createTime | date }}
              </template>
            </span>
            <span class="separator">|</span>
            <!-- 文章分类 -->
            <span class="article-category">
              <i class="iconfont iconfenlei1" />
              <router-link :to="'/categories/' + articleRuleForm.categoryId">
                {{ articleRuleForm.categoryName }}
              </router-link>
            </span>
          </div>
          <div class="second-line">
            <!-- 字数统计 -->
            <span>
              <i class="iconfont iconzishu" />
              字数统计: {{ wordNum | num }}
            </span>
            <span class="separator">|</span>
            <!-- 阅读时长 -->
            <span>
              <i class="iconfont iconshijian" />
              阅读时长: {{ readTime }}
            </span>
          </div>
          <div class="third-line">
            <span class="separator">|</span>
            <!-- 阅读量 -->
            <span>
              <i class="iconfont iconliulan" /> 阅读量: {{ null }}
            </span>
            <span class="separator">|</span>
            <!-- 评论量 -->
            <span>
              <i class="iconfont iconpinglunzu1" />评论数:
              <template v-if="false">{{ null }}</template>
              <template v-else>0</template>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>

</template>

<script>

export default {
  data() {
    return {
      userRuleForm:{
        id: '',
        avatar: '',
        nick: '',
        gender: 1,
        phone: '',
        signature: '',
        optionsSelect: [],
      },

      articleRuleForm:{
        id: '',
        title:"无数据",
        categoryName:'无数据',
        tagId: 0,
        userId:0,
        categoryId:0,
        tags:[],
        tagName:'',
        content:"",
        gmtCreate:'',
        gmtCreatePush:'',
        gmtModified:''
      },
      navBarFixed: false,     // 是否吸顶
      examId:null,
      examRow:{},
      articleCount:'',        // 当前作者发表文章的数量
      id:-1,                  // 页面传值文章id

    };
  },

  methods: {
    /**
     * 查询作者信息
     */
    user(userId){
      this.axios.get("http://localhost:9090/system/users/getBackFillById?id="+userId).then((response)=>{
        this.userRuleForm = response.data;
      })
    },

    /**
     * 查询文章信息
     */
    article(articleId){
      this.axios.get("http://localhost:9090/articles/"+articleId+"/selectById").then((response)=>{
        this.articleRuleForm = response.data.data;
        this.user(response.data.data.userId);
      })
    },

    /**
     * 导航栏置顶
     */
    watchScroll() {
      let scrollTop =
          window.pageYOffset ||
          document.documentElement.scrollTop ||
          document.body.scrollTop;
      console.log(scrollTop)
      //  当滚动超过 90 时，实现吸顶效果
      if (scrollTop > 100) {
        this.navBarFixed = true;
      } else {
        this.navBarFixed = false;
      }
    },
  },
  /**
   * 防止用户刷新页面丢失数据
   */
  mounted() {
    window.addEventListener("scroll", this.watchScroll);
  },
  created() {
    let id = this.$route.query.id
    if (id !== undefined) {
      alert("即将进行修改："+id)
      this.article(id)
    }else {
      window.location.href = "https://www.baidu.com"
    }
  },
}

</script>

<style scoped>
.banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.article-info i {
  font-size: 14px;
}

.article-info {
  font-size: 14px;
  line-height: 1.9;
  display: inline-block;
}

@media (min-width: 760px) {
  .banner {
    color: #eee !important;
  }

  .article-info span {
    font-size: 95%;
  }

  .article-info-container {
    position: absolute;
    bottom: 6.25rem;
    padding: 0 8%;
    width: 100%;
    text-align: center;
  }

  .second-line,
  .third-line {
    display: inline;
  }

  .article-title {
    font-size: 35px;
    margin: 20px 0 8px;
  }

  .pagination-post {
    display: flex;
  }

  .post {
    width: 50%;
  }

  .recommend-item {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin: 3px;
    width: calc(33.333% - 6px);
    height: 200px;
    background: #000;
    vertical-align: bottom;
  }
}

@media (max-width: 759px) {
  .banner {
    color: #eee !important;
    height: 360px;
  }

  .article-info span {
    font-size: 90%;
  }

  .separator:first-child {
    display: none;
  }

  .blog-container {
    margin: 322px 5px 0 5px;
  }

  .article-info-container {
    position: absolute;
    bottom: 1.3rem;
    padding: 0 5%;
    width: 100%;
    color: #eee;
    text-align: left;
  }

  .article-title {
    font-size: 1.5rem;
    margin-bottom: 0.4rem;
  }

  .post {
    width: 100%;
  }

  .pagination-post {
    display: block;
  }

  .recommend-item {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin: 3px;
    width: calc(100% - 4px);
    height: 150px;
    margin: 2px;
    background: #000;
    vertical-align: bottom;
  }
}

.article-content {
  word-break: break-word;
  font-size: 14px;
  line-height: 2;
}

.article-operation {
  display: flex;
  align-items: center;
}

.article-category a {
  color: #fff !important;
}

.tag-container a {
  display: inline-block;
  margin: 0.5rem 0.5rem 0.5rem 0;
  padding: 0 0.75rem;
  width: fit-content;
  border: 1px solid #49b1f5;
  border-radius: 1rem;
  color: #49b1f5 !important;
  font-size: 12px;
  line-height: 2;
}

.tag-container a:hover {
  color: #fff !important;
  background: #49b1f5;
  transition: all 0.5s;
}

.aritcle-copyright {
  position: relative;
  margin-top: 40px;
  margin-bottom: 10px;
  font-size: 0.875rem;
  line-height: 2;
  padding: 0.625rem 1rem;
  border: 1px solid #eee;
}

.aritcle-copyright span {
  color: #49b1f5;
  font-weight: bold;
}

.aritcle-copyright a {
  text-decoration: underline !important;
  color: #99a9bf !important;
}

.aritcle-copyright:before {
  position: absolute;
  top: 0.7rem;
  right: 0.7rem;
  width: 1rem;
  height: 1rem;
  border-radius: 1rem;
  background: #49b1f5;
  content: "";
}

.aritcle-copyright:after {
  position: absolute;
  top: 0.95rem;
  right: 0.95rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.5em;
  background: #fff;
  content: "";
}

.article-reward {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.reward-btn {
  position: relative;
  display: inline-block;
  width: 100px;
  background: #49b1f5;
  margin: 0 1rem;
  color: #fff !important;
  text-align: center;
  line-height: 36px;
  font-size: 0.875rem;
}

.reward-btn:hover .reward-main {
  display: block;
}

.reward-main {
  display: none;
  position: absolute;
  bottom: 40px;
  left: 0;
  margin: 0;
  padding: 0 0 15px;
  width: 100%;
}

.reward-all {
  display: inline-block;
  margin: 0 0 0 -110px;
  padding: 20px 10px 8px !important;
  width: 320px;
  border-radius: 4px;
  background: #f5f5f5;
}

.reward-all:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 20px;
  content: "";
}

.reward-all:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 2px;
  left: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-top: 13px solid #f5f5f5;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
}

.reward-item {
  display: inline-block;
  padding: 0 8px;
  list-style-type: none;
}

.reward-img {
  width: 130px;
  height: 130px;
  display: block;
}

.reward-desc {
  margin: -5px 0;
  color: #858585;
  text-align: center;
}

.like-btn {
  display: inline-block;
  width: 100px;
  background: #969696;
  color: #fff !important;
  text-align: center;
  line-height: 36px;
  font-size: 0.875rem;
}

.like-btn-active {
  display: inline-block;
  width: 100px;
  background: #ec7259;
  color: #fff !important;
  text-align: center;
  line-height: 36px;
  font-size: 0.875rem;
}

.pagination-post {
  margin-top: 40px;
  overflow: hidden;
  width: 100%;
  background: #000;
}

.post {
  position: relative;
  height: 150px;
  overflow: hidden;
}

.post-info {
  position: absolute;
  top: 50%;
  padding: 20px 40px;
  width: 100%;
  transform: translate(0, -50%);
  line-height: 2;
  font-size: 14px;
}

.post-cover {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0.4;
  transition: all 0.6s;
  object-fit: cover;
}

.post a {
  position: relative;
  display: block;
  overflow: hidden;
  height: 150px;
}

.post:hover .post-cover {
  opacity: 0.8;
  transform: scale(1.1);
}

.label {
  font-size: 90%;
  color: #eee;
}

.post-title {
  font-weight: 500;
  color: #fff;
}

hr {
  position: relative;
  margin: 40px auto;
  border: 2px dashed #d2ebfd;
  width: calc(100% - 4px);
}

.full {
  width: 100% !important;
}

.right-container {
  padding: 20px 24px;
  font-size: 14px;
}

.right-title {
  display: flex;
  align-items: center;
  line-height: 2;
  font-size: 16.8px;
  margin-bottom: 6px;
}

.right-title i {
  font-weight: bold;
}

.recommend-container {
  margin-top: 40px;
}

.recommend-title {
  font-size: 20px;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 5px;
}

.recommend-cover {
  width: 100%;
  height: 100%;
  opacity: 0.4;
  transition: all 0.6s;
  object-fit: cover;
}

.recommend-info {
  line-height: 2;
  color: #fff;
  position: absolute;
  top: 50%;
  padding: 0 20px;
  width: 100%;
  transform: translate(0, -50%);
  text-align: center;
  font-size: 14px;
}

.recommend-date {
  font-size: 90%;
}

.recommend-item:hover .recommend-cover {
  opacity: 0.8;
  transform: scale(1.1);
}

.article-item {
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.article-item:first-child {
  padding-top: 0;
}

.article-item:last-child {
  padding-bottom: 0;
}

.article-item:not(:last-child) {
  border-bottom: 1px dashed #f5f5f5;
}

.article-item img {
  width: 100%;
  height: 100%;
  transition: all 0.6s;
  object-fit: cover;
}

.article-item img:hover {
  transform: scale(1.1);
}

.content {
  flex: 1;
  padding-left: 10px;
  word-break: break-all;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.content-cover {
  width: 58.8px;
  height: 58.8px;
  overflow: hidden;
}

.content-title a {
  transition: all 0.2s;
  font-size: 95%;
}

.content-title a:hover {
  color: #2ba1d1;
}

.content-time {
  color: #858585;
  font-size: 85%;
  line-height: 2;
}
</style>

<!--<style lang="scss">-->
<!--pre.hljs {-->
<!--  padding: 12px 2px 12px 40px !important;-->
<!--  border-radius: 5px !important;-->
<!--  position: relative;-->
<!--  font-size: 14px !important;-->
<!--  line-height: 22px !important;-->
<!--  overflow: hidden !important;-->

<!--  &:hover .copy-btn {-->
<!--    display: flex;-->
<!--    justify-content: center;-->
<!--    align-items: center;-->
<!--  }-->

<!--  code {-->
<!--    display: block !important;-->
<!--    margin: 0 10px !important;-->
<!--    overflow-x: auto !important;-->

<!--    &::-webkit-scrollbar {-->
<!--      z-index: 11;-->
<!--      width: 6px;-->
<!--    }-->

<!--    &::-webkit-scrollbar:horizontal {-->
<!--      height: 6px;-->
<!--    }-->

<!--    &::-webkit-scrollbar-thumb {-->
<!--      border-radius: 5px;-->
<!--      width: 6px;-->
<!--      background: #666;-->
<!--    }-->

<!--    &::-webkit-scrollbar-corner,-->
<!--    &::-webkit-scrollbar-track {-->
<!--      background: #1e1e1e;-->
<!--    }-->

<!--    &::-webkit-scrollbar-track-piece {-->
<!--      background: #1e1e1e;-->
<!--      width: 6px;-->
<!--    }-->
<!--  }-->

<!--  .line-numbers-rows {-->
<!--    position: absolute;-->
<!--    pointer-events: none;-->
<!--    top: 12px;-->
<!--    bottom: 12px;-->
<!--    left: 0;-->
<!--    font-size: 100%;-->
<!--    width: 40px;-->
<!--    text-align: center;-->
<!--    letter-spacing: -1px;-->
<!--    border-right: 1px solid rgba(0, 0, 0, 0.66);-->
<!--    user-select: none;-->
<!--    counter-reset: linenumber;-->

<!--    span {-->
<!--      pointer-events: none;-->
<!--      display: block;-->
<!--      counter-increment: linenumber;-->

<!--      &:before {-->
<!--        content: counter(linenumber);-->
<!--        color: #999;-->
<!--        display: block;-->
<!--        text-align: center;-->
<!--      }-->
<!--    }-->
<!--  }-->

<!--  b.name {-->
<!--    position: absolute;-->
<!--    top: 7px;-->
<!--    right: 45px;-->
<!--    z-index: 1;-->
<!--    color: #999;-->
<!--    pointer-events: none;-->
<!--  }-->

<!--  .copy-btn {-->
<!--    position: absolute;-->
<!--    top: 6px;-->
<!--    right: 6px;-->
<!--    z-index: 1;-->
<!--    color: #ccc;-->
<!--    background-color: #525252;-->
<!--    border-radius: 6px;-->
<!--    display: none;-->
<!--    font-size: 14px;-->
<!--    width: 32px;-->
<!--    height: 24px;-->
<!--    outline: none;-->
<!--  }-->
<!--}-->
<!--</style>-->
